The present invention is in the field of Computer-Telephony Integration (CTI) call processing and switching including CTI call processing and switching of Internet protocol (IP)-sourced communication, and pertains more particularly to methods and apparatus for distributing call processing duties among multiple destination sites and routing of calls by way of call-destination site control.
The present invention relates in preferred embodiments to call-centers in the art of telephony systems. Call centers are typically hosted by a company or organization for purposes of providing a service to clients, such as technical assistance or catalogue sales and the like. In a typical call center agents are employed at agent stations having at least one telephone, and in many cases other equipment, such as a personal computer with a video display unit (PC/VDU).
Modem call centers, more appropriately termed communication centers, typically have call-switching equipment for directing incoming calls to telephones at agent stations. Computer integration with the switching equipment is now common. This technique is known in the art as computer telephony integration (CTI). In a CTI system a processor is connected to the switching apparatus by a CTI link, and the processor runs CTI applications monitoring and controlling the switching apparatus. PC/VDUs at agent stations may be interconnected on a local area network (LAN) also connected to the CTI processor.
Development of CTI communication centers has made it possible for agents to interact with callers (clients) in more ways than just by telephone. In a suitably equipped communication center, agents can operate with E-mail, Video mail, Video calls, and Internet Protocol Network Telephony (IPNT) calls as well as connection-orientated-switched-telephony (COST) calls. Further to the above, such a modern communication center may also be linked to other communication centers, data bases, and the like in a variety of ways, such as by COST networks, local area networks (LAN), wide area networks (WAN), including the World Wide Web (WWW), and various other types of linked-computer networks, such as wireless, satellite based, etc.
A communication center is typically organized to receive and distribute incoming calls to a plurality of agents at the center. There may be a large volume (rate) of incoming calls and a large number of agents. As described above, calls are not limited to COST calls, but may include communications of many other sorts. Call routing to and within communication centers involves processors and software dedicated to directing calls to appropriate agents for processing and response.
Routing of calls, then, may be on several levels. Pre-routing may be done at Service Control Points (SCPs) or other network access points, gateways, or switches at the network level and further routing may be, and generally is, accomplished at individual communication centers.
Distribution and routing of telephone calls within a connection-orientated-switched-network (COST) is not limited to plain old telephony service (POTS)-sourced calls. Calls sourced from other types of networks such as any packet data network, termed herein Data Network Telephony (DNT) calls, may arrive into a COST network through a gateway bridging the two networks. Such gateways are adapted for protocol conversion such that all bridged calls to a COST network are converted to COST format for switching and processing according to appropriate conventions.
In current art call distribution at the network level, calls arriving at a first telephony switch are typically routed on to other switches in the network before ultimately arriving at final destination switches local to or within communication centers. These intermediate switches are often referred to as hops by those familiar with the art. Often these intermediate switches are limited in routing capability with routing performed according to information stored locally at each switch. Such information may simply be the destination of the next intermediate switch on a path to the final destination. As a result, a call may experience several hops on the way to it""s final destination. Such hops may require that a call be held in queue while awaiting further instruction, and in any case may entail delays and expensive processing.
An inconvenience associated with such architecture is that it is expensive to maintain such intermediate equipment. Costs associated with maintaining such equipment are generally factored in to direct costs to call-center hosts who lease such equipment for load balancing purposes or other call processing services that may be offered by a host network provider.
What is clearly needed is a method and apparatus for load-balancing of call-processing duties between multiple destination sites and routing of calls that is controlled by each destination site. Calls in such a system could be pulled from network equipment rather than pushed from network equipment. Such a method and apparatus would eliminate or greatly reduce the use of intermediate switching apparatus at or below network level thereby eliminating associated costs. Such a method and apparatus would also allow for less intelligence to be implemented at enhanced first-destination switches such as SCP points.
In a preferred embodiment of the present invention a call switching and routing system is provided, comprising a first switching apparatus for receiving incoming calls; a first processor connected to the first switching apparatus; and a plurality of destination sites each connected to the first switching apparatus by a telephony trunk, each destination site including a destination processor coupled to the first processor by a communication link separate from the telephony trunk. The first processor connected to the first switching apparatus maintains a list of incoming calls received at the first switching apparatus as a virtual queue, wherein individual ones of the destination processors at the destination sites monitor local agent status and skill sets, and request switching of calls from the published lists as agents become available to handle new calls, and the first processor in response to requests from the destination processors controls the first switching apparatus to switch calls to the requesting destination sites.
In some embodiments there are one or more intermediate processors connected to the first processor and to one or more of the destination processors by communication links other than the telephony trunks, and the intermediate processor or processors maintain copies of the virtual queue and interact with destination processors to route calls held at the first switching apparatus.
In some embodiments individual ones of the destination sites include a destination switching apparatus monitored and controlled by the destination processor, the destination switching apparatus for receiving calls from the first switching apparatus and switching the calls to connected agents under control of the destination processor. Also, in some embodiments there may be an IP-to-COST gateway for receiving calls from an IP network and forwarding the IP calls to the first switching apparatus as COST calls.
In some embodiments there are plural first switching apparatus connected to plural first processors, the plural first processors interconnected to plural intermediate processors interconnected to destination processors at plural destination sites, providing thereby a distributed system, wherein one or more virtual queues are formed and maintained on individual ones of the first and intermediate processors from calls received at individual ones of the plural first switching apparatus, and wherein the destination processors may negotiate with any one of the first or intermediate processors for call switching, and the virtual queues are maintained according to calls received and calls switched at all of the first switching apparatus.
In an aspect of the invention a telephony processor for a telephone switching and routing system is provided, comprising a computer-telephony-integration (CTI) link for connection to a switching apparatus; a digital communication link separate from the CTI link for communication with remote digital processors; and a CTI application for establishing a virtual queue from data received from a telephony switching apparatus over the CTI link. The CTI application forms a queue list representing calls received at a switching apparatus connected to the CTI link, negotiates with the remote processors over the separate digital link for assignment of queued calls, and forms and transmits commands on the CTI link to the connected switching apparatus to switch calls to destinations according to the negotiations with the remote digital processors. In some cases the processor is a first processor in a connected processor system, and the virtual queue is copied to and maintained on remote processors connected to the first processor by the separate digital communication link.
In yet another aspect of the invention method for switching and routing telephone calls is provided, comprising steps of (a) receiving calls at a first switching apparatus; (b) transferring data about the received calls to a first processor connected to the switching apparatus; (c) forming a virtual queue of received calls from the data from the first switching apparatus; (d) negotiating, by the first processor, with destination processors at candidate destination sites, the candidate destination sites requesting calls from the virtual queue; (e) commanding the first switching apparatus by the first processor to switch calls to the destination sites according to the negotiations; and (f) updating the virtual queue as new calls are received and received calls are switched.
In some embodiments of the method there is a step for establishing all or a portion the virtual queue at intermediate processors connected to the first processor, wherein the intermediate processors may also interact with destination processors for call switching decisions. Also in some embodiments individual ones of the destination sites may include a destination switching apparatus monitored and controlled by the destination processor, including a step for receiving calls from the first switching apparatus and switching the calls to connected agents under control of the destination processor. There may also be an IP-to-COST gateway for receiving calls from an IP network and forwarding the IP calls to the first switching apparatus as COST calls.
In embodiments of the present invention, for the first time a system is provided wherein two-bounce routing is established and maintained, avoiding intermediate switching of calls, and also allowing enhanced efficiency of destinations negotiating for (pulling) calls from a distributed virtual queue.